for _ in range(int(input())):
l, n = int(input()), input()
a, b = "1", "1"
trig = False
for i in range(1, l):
if n[i] == "0":
a += "0"
b += "0"
elif trig == False:
if n[i] == "2":
a += "1"
b += "1"
else:
a += "1"
b += "0"
trig = True
else:
b += n[i]
a += "0"
print(a)
print(b)
#include<bits/stdc++.h>
using namespace std;
#define endl "\n"
#define int long long
#define all(x) (x).begin(), (x).end()
#define allr(x) (x).rbegin(), (x).rend()
void solve() {
int n;
cin >> n;
string s;
cin >> s;
// https://codeforces.com/blog/entry/75246
/* 21211
a = 1 b = 1
a = 1 b = 0 , b = 2 , b = 1 , b = 1
*/
string a(n,'0'),b(n,'0');
for(int i =0;i<n;i++) {
if(s[i] == '1') {
a[i] = '1';
b[i] = '0';
for(int j = i+1;j<n;j++) {
b[j] = s[j];
}
break;
} if(s[i] == '0') {
a[i] = b[i] = '0';
} if(s[i] == '2') {
a[i] = b[i] = '1';
}
}
cout << a << endl << b << endl;
}
int32_t main() {
#ifdef Shirish
freopen("/home/shirish2601/input.txt", "r", stdin);
freopen("/home/shirish2601/output.txt", "w",stdout);
#endif
ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
int t = 1;
cin >> t;
while(t--) {
solve();
}
}
32. Longest Valid Parentheses | Cutting a material |
Bubble Sort | Number of triangles |
AND path in a binary tree | Factorial equations |
Removal of vertices | Happy segments |
Cyclic shifts | Zoos |
Build a graph | Almost correct bracket sequence |
Count of integers | Differences of the permutations |
Doctor's Secret | Back to School |
I am Easy | Teddy and Tweety |
Partitioning binary strings | Special sets |
Smallest chosen word | Going to office |
Color the boxes | Missing numbers |
Maximum sum | 13 Reasons Why |
Friend's Relationship | Health of a person |
Divisibility | A. Movement |